function dataURLtoBlob(dataurl) {
    var arr = dataurl.split(","),
      mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]),
      n = bstr.length,
      u8arr = new Uint8Array(n);
    while (n--) {
      u8arr[n] = bstr.charCodeAt(n);
    }
    return new Blob([u8arr], { type: mime });
  }
  function loadBase64(img, prefix = true) {
    return new Promise((resolve) => {
      let image = new Image();
      if (prefix) {
        image.src = `data:image/gif;base64,${img}`;
      } else {
        image.src = img;
      }
      image.onload = function () {
        resolve(image);
      };
    });
  }